Given a 0-indexed integer array nums
, return the number of distinct quadruplets(a, b, c, d)
such that:
nums[a] + nums[b] + nums[c] == nums[d]
, anda < b < c < d
Input: nums = [1,2,3,6] Output: 1 Explanation: The only quadruplet that satisfies the requirement is (0, 1, 2, 3) because 1 + 2 + 3 == 6.
Input: nums = [3,3,6,4,5] Output: 0 Explanation: There are no such quadruplets in [3,3,6,4,5].
Input: nums = [1,1,1,3,5] Output: 4 Explanation: The 4 quadruplets that satisfy the requirement are: - (0, 1, 2, 3): 1 + 1 + 1 == 3 - (0, 1, 3, 4): 1 + 1 + 3 == 5 - (0, 2, 3, 4): 1 + 1 + 3 == 5 - (1, 2, 3, 4): 1 + 1 + 3 == 5
4 <= nums.length <= 50
1 <= nums[i] <= 100
classSolution: defcountQuadruplets(self, nums: List[int]) ->int: n=len(nums) ret=0forainrange(n): forbinrange(a+1, n): forcinrange(b+1, n): fordinrange(c+1, n): ifnums[a] +nums[b] +nums[c] ==nums[d]: ret+=1returnret